package com.jinyi.wwdeng.ui.user.contract

import com.jinyi.base.mvp.IBasePresenter
import com.jinyi.base.mvp.IBaseView
import org.json.JSONObject

/**
 * JinYiTest
 * @Author wwdeng
 * @CreateTime: 2024/4/29 11:28
 * @Annotation：契约接口
 */
interface UserFeedbackContract {

    /**
     * model 层接口类
     */
    interface Model {

        /**
         * 获取反馈问题类型列表
         */
        fun loadQuestionTypeListAction()
        /**
         * 获取联系方式列表
         */
        fun loadContactListAction()

        /**
         * 上传图片
         */
        fun uploadImageAction(imgPath: String)

        /**
         * 提交反馈
         */
        fun submitFeedbackAction(params: JSONObject)
    }

    /**
     * view 层接口类
     */
    interface View : IBaseView {
        /**
         * 显示问题类型列表
         */
        fun showQuestionTypeList(dataList: ArrayList<JSONObject>)
        /**
         * 显示联系方式列表
         */
        fun showContactList(contactList: ArrayList<JSONObject>)
        /**
         * 图片上传完成
         */
        fun showUploadImageSuccess(imgUrl: String)

        /**
         * 意见反馈提交成功
         */
        fun showSubmitSuccess()
    }

    /**
     * presenter 层接口类
     */
    interface Presenter: IBasePresenter {
        /**
         * 设置问题类型列表数据
         */
        fun setQuestionTypeListData(typeList: ArrayList<JSONObject>)
        /**
         * 设置联系方式列表
         */
        fun setContactListData(contactList: ArrayList<JSONObject>)
        /**
         * 图片上传完成
         */
        fun setUploadImageSuccess(data: JSONObject)
        /**
         * 提交意见反馈成功
         */
        fun onSubmitFeedbackSuccess(data: JSONObject)

    }
}